package br.com.foxinline.modelo;

import br.com.foxinline.enums.AlimentacaoDiaria;
import br.com.foxinline.enums.Peso;
import br.com.foxinline.enums.TipoAlimentacao;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.*;

/**
 *
 * @author laverson
 */
@Entity
public class QuestionarioAutoReferido implements Serializable, Cloneable {

    @Id
    @SequenceGenerator(sequenceName = "seq_questionario_auto_referido", name = "seq_questionario_auto_referido", allocationSize = 1)
    @GeneratedValue(generator = "seq_questionario_auto_referido", strategy = GenerationType.SEQUENCE)
    private Long id;
    private String maternidadeReferencia;
    @Enumerated(EnumType.STRING)
    private Peso peso;
    private Boolean fumante;
    private String fumanteQuantoTempo;
    private Boolean dependenteAlcoolico;
    private String dependenteAlcoolicoQuantoTempo;
    private Boolean dependenteDrogas;
    private Boolean hipertensao;
    private Boolean hipertensaoUsaMedicamento;
    private String hipertensaoNomeMedicamento;
    private Boolean diabetes;
    private Boolean diabetesUsaMedicamento;
    private String diabetesNomeMedicamento;
    private Boolean diabetesHospitalizacaoPorComplicacao;
    private Boolean avc;
    private Boolean infarto;
    private Boolean possuiDoencaCardiaca;
    @OneToOne
    private List<DoencaCardiaca> doencaCardiaca;
    private Boolean possuiProblemaRenal;
    @OneToOne
    private List<ProblemaRenal> problemaRenal;
    private String problemaRenalQuantoTempo;
    private String problemaRenalNomeMedicacao;
    private Boolean possuiDoencaPulmonar;
    @OneToOne
    private List<DoencaPulmonar> doencaPulmonar;
    private String doencaPulmonarNomeMedicacao;
    private String doencaPulmonarQuantoTempo;
    private Boolean hanseniase;
    private Boolean hanseniaseEmTratamento;
    private Boolean hanseniaseCurado;
    private Boolean tuberculose;
    private Boolean tuberculoseEmTratamento;
    private Boolean tuberculoseCurado;
    private Boolean cancer;
    private String cancerNome;
    private String cancerQuantoTempo;
    private Boolean cancerEmTratamento;
    private String cancerNomeMedicamento;
    private Boolean cancerCurado;
    private Boolean internadoRecentemente;
    private String causaInternacaoRecente;
    private Boolean problemaSaudeMental;
    private Boolean usaPlantasMedicinais;
    private String nomePlantasMedicinais;
    private Boolean outrasPraticasIntegrativas;
    private List<String> outrasPraticasIntegrativasNome;
    private List<String> outrasCondicoesSaude;
    @Enumerated(EnumType.STRING)
    private AlimentacaoDiaria alimentacaoDiaria;
    @OneToOne
    private List<OrigemAlimentacao> origemAlimentacao;
    private Boolean acessoHigienePessoal;
    @OneToMany
    private List<HigienePessoal> higienePessoal;
    private Boolean tratamentoPsiquiatrico;
    private Boolean acamado;
    private String acamadoQuantoTempo;
    private String acamadoMotivo;
    private Boolean domiciliado;
    private Boolean dstsAids;
    private String dstsAidsNome;
    private Boolean dstsAidsCurado;
    private Boolean dstsAidsEmTratamento;
    private String dstsAidsNomeMedicamento;
    private Boolean criancaMenorDoisAnos;
    private Boolean criancaMenorSeteAnos;
    private Boolean criancaPesada;
    private Double criancaPeso;
    private Boolean criancaDesnutrida;
    private Double criancaAltura;
    private Integer criancaIdade;
    private Boolean criancaVacinada;
    @OneToMany
    private List<Vacina> criancaVacinasAtrasadas;
    @Enumerated(EnumType.STRING)
    private TipoAlimentacao criancaTipoAlimentacao;
    @OneToMany
    private List<Doenca> criancaDoencas;
    @OneToMany
    private List<Intercorrencia> criancaIntercorrencias;
    private Boolean criancaDiarreia;
    private String criancaDiarreiaTratamento;
    private Boolean pccu;
    private String pccuQuantoTempo;
    private Boolean pccuFazAnualmente;
    private Boolean preventivoMamografia;
    private Boolean gestante;
    /**
     * Dia Último da Menstruação
     */
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date gestanteDUM;
    private Boolean gestanteExamesEmDia;
    /**
     * Data Provavel do Parto
     */
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date gestanteDPP;
    private String gestanteNumeroSisPreNatal;
    private Boolean gestanteAcompanhamentoPreNatal;
    private String gestanteQualTrimestre;
    private Boolean gestanteGravidezMenorVinteAnos;
    private Boolean puerperio;
    private Boolean puerperioRNPeso;
    private Boolean puerperioExclusivo;
    private Boolean puerperioMisto;
    @Version
    private int versao;
    // Atributo Relatorio
    @Transient
    private String doencaVO;

    public QuestionarioAutoReferido() {
        doencaPulmonar = new ArrayList<DoencaPulmonar>();
        doencaCardiaca = new ArrayList<DoencaCardiaca>();
        problemaRenal = new ArrayList<ProblemaRenal>();
        origemAlimentacao = new ArrayList<OrigemAlimentacao>();
        higienePessoal = new ArrayList<HigienePessoal>();
        outrasPraticasIntegrativasNome = new ArrayList<String>();
        outrasCondicoesSaude = new ArrayList<String>();
        criancaVacinasAtrasadas = new ArrayList<Vacina>();
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getMaternidadeReferencia() {
        return maternidadeReferencia;
    }

    public void setMaternidadeReferencia(String maternidadeReferencia) {
        this.maternidadeReferencia = maternidadeReferencia;
    }

    public Peso getPeso() {
        return peso;
    }

    public void setPeso(Peso peso) {
        this.peso = peso;
    }

    public Boolean getFumante() {
        return fumante;
    }

    public void setFumante(Boolean fumante) {
        this.fumante = fumante;
    }

    public Boolean getDependenteAlcoolico() {
        return dependenteAlcoolico;
    }

    public void setDependenteAlcoolico(Boolean dependenteAlcoolico) {
        this.dependenteAlcoolico = dependenteAlcoolico;
    }

    public Boolean getDependenteDrogas() {
        return dependenteDrogas;
    }

    public void setDependenteDrogas(Boolean dependenteDrogas) {
        this.dependenteDrogas = dependenteDrogas;
    }

    public Boolean getAvc() {
        return avc;
    }

    public void setAvc(Boolean avc) {
        this.avc = avc;
    }

    public Boolean getInfarto() {
        return infarto;
    }

    public void setInfarto(Boolean infarto) {
        this.infarto = infarto;
    }

    public Boolean getPossuiDoencaCardiaca() {
        return possuiDoencaCardiaca;
    }

    public void setPossuiDoencaCardiaca(Boolean possuiDoencaCardiaca) {
        this.possuiDoencaCardiaca = possuiDoencaCardiaca;
    }

    public List<DoencaCardiaca> getDoencaCardiaca() {
        return doencaCardiaca;
    }

    public void setDoencaCardiaca(List<DoencaCardiaca> doencaCardiaca) {
        this.doencaCardiaca = doencaCardiaca;
    }

    public Boolean getPossuiProblemaRenal() {
        return possuiProblemaRenal;
    }

    public void setPossuiProblemaRenal(Boolean possuiProblemaRenal) {
        this.possuiProblemaRenal = possuiProblemaRenal;
    }

    public List<ProblemaRenal> getProblemaRenal() {
        return problemaRenal;
    }

    public void setProblemaRenal(List<ProblemaRenal> problemaRenal) {
        this.problemaRenal = problemaRenal;
    }

    public Boolean getPossuiDoencaPulmonar() {
        return possuiDoencaPulmonar;
    }

    public void setPossuiDoencaPulmonar(Boolean possuiDoencaPulmonar) {
        this.possuiDoencaPulmonar = possuiDoencaPulmonar;
    }

    public List<DoencaPulmonar> getDoencaPulmonar() {
        return doencaPulmonar;
    }

    public void setDoencaPulmonar(List<DoencaPulmonar> doencaPulmonar) {
        this.doencaPulmonar = doencaPulmonar;
    }

    public Boolean getHanseniase() {
        return hanseniase;
    }

    public void setHanseniase(Boolean hanseniase) {
        this.hanseniase = hanseniase;
    }

    public Boolean getTuberculose() {
        return tuberculose;
    }

    public void setTuberculose(Boolean tuberculose) {
        this.tuberculose = tuberculose;
    }

    public Boolean getCancer() {
        return cancer;
    }

    public void setCancer(Boolean cancer) {
        this.cancer = cancer;
    }

    public Boolean getInternadoRecentemente() {
        return internadoRecentemente;
    }

    public void setInternadoRecentemente(Boolean internadoRecentemente) {
        this.internadoRecentemente = internadoRecentemente;
    }

    public String getCausaInternacaoRecente() {
        return causaInternacaoRecente;
    }

    public void setCausaInternacaoRecente(String causaInternacaoRecente) {
        this.causaInternacaoRecente = causaInternacaoRecente;
    }

    public Boolean getProblemaSaudeMental() {
        return problemaSaudeMental;
    }

    public void setProblemaSaudeMental(Boolean problemaSaudeMental) {
        this.problemaSaudeMental = problemaSaudeMental;
    }

    public Boolean getUsaPlantasMedicinais() {
        return usaPlantasMedicinais;
    }

    public void setUsaPlantasMedicinais(Boolean usaPlantasMedicinais) {
        this.usaPlantasMedicinais = usaPlantasMedicinais;
    }

    public String getNomePlantasMedicinais() {
        return nomePlantasMedicinais;
    }

    public void setNomePlantasMedicinais(String nomePlantasMedicinais) {
        this.nomePlantasMedicinais = nomePlantasMedicinais;
    }

    public List<String> getOutrasCondicoesSaude() {
        return outrasCondicoesSaude;
    }

    public void setOutrasCondicoesSaude(List<String> outrasCondicoesSaude) {
        this.outrasCondicoesSaude = outrasCondicoesSaude;
    }

    public AlimentacaoDiaria getAlimentacaoDiaria() {
        return alimentacaoDiaria;
    }

    public void setAlimentacaoDiaria(AlimentacaoDiaria alimentacaoDiaria) {
        this.alimentacaoDiaria = alimentacaoDiaria;
    }

    public List<OrigemAlimentacao> getOrigemAlimentacao() {
        return origemAlimentacao;
    }

    public void setOrigemAlimentacao(List<OrigemAlimentacao> origemAlimentacao) {
        this.origemAlimentacao = origemAlimentacao;
    }

    public Boolean getAcessoHigienePessoal() {
        return acessoHigienePessoal;
    }

    public void setAcessoHigienePessoal(Boolean acessoHigienePessoal) {
        this.acessoHigienePessoal = acessoHigienePessoal;
    }

    public List<HigienePessoal> getHigienePessoal() {
        return higienePessoal;
    }

    public void setHigienePessoal(List<HigienePessoal> higienePessoal) {
        this.higienePessoal = higienePessoal;
    }

    public Boolean getTratamentoPsiquiatrico() {
        return tratamentoPsiquiatrico;
    }

    public void setTratamentoPsiquiatrico(Boolean tratamentoPsiquiatrico) {
        this.tratamentoPsiquiatrico = tratamentoPsiquiatrico;
    }

    public int getVersao() {
        return versao;
    }

    public void setVersao(int versao) {
        this.versao = versao;
    }

    public String getFumanteQuantoTempo() {
        return fumanteQuantoTempo;
    }

    public void setFumanteQuantoTempo(String fumanteQuantoTempo) {
        this.fumanteQuantoTempo = fumanteQuantoTempo;
    }

    public Boolean getHipertensao() {
        return hipertensao;
    }

    public void setHipertensao(Boolean hipertensao) {
        this.hipertensao = hipertensao;
    }

    public Boolean getHipertensaoUsaMedicamento() {
        return hipertensaoUsaMedicamento;
    }

    public void setHipertensaoUsaMedicamento(Boolean hipertensaoUsaMedicamento) {
        this.hipertensaoUsaMedicamento = hipertensaoUsaMedicamento;
    }

    public String getHipertensaoNomeMedicamento() {
        return hipertensaoNomeMedicamento;
    }

    public void setHipertensaoNomeMedicamento(String hipertensaoNomeMedicamento) {
        this.hipertensaoNomeMedicamento = hipertensaoNomeMedicamento;
    }

    public Boolean getDiabetes() {
        return diabetes;
    }

    public void setDiabetes(Boolean diabetes) {
        this.diabetes = diabetes;
    }

    public Boolean getDiabetesUsaMedicamento() {
        return diabetesUsaMedicamento;
    }

    public void setDiabetesUsaMedicamento(Boolean diabetesUsaMedicamento) {
        this.diabetesUsaMedicamento = diabetesUsaMedicamento;
    }

    public String getDiabetesNomeMedicamento() {
        return diabetesNomeMedicamento;
    }

    public void setDiabetesNomeMedicamento(String diabetesNomeMedicamento) {
        this.diabetesNomeMedicamento = diabetesNomeMedicamento;
    }

    public String getProblemaRenalQuantoTempo() {
        return problemaRenalQuantoTempo;
    }

    public void setProblemaRenalQuantoTempo(String problemaRenalQuantoTempo) {
        this.problemaRenalQuantoTempo = problemaRenalQuantoTempo;
    }

    public String getProblemaRenalNomeMedicacao() {
        return problemaRenalNomeMedicacao;
    }

    public void setProblemaRenalNomeMedicacao(String problemaRenalNomeMedicacao) {
        this.problemaRenalNomeMedicacao = problemaRenalNomeMedicacao;
    }

    public Boolean getHanseniaseEmTratamento() {
        return hanseniaseEmTratamento;
    }

    public void setHanseniaseEmTratamento(Boolean hanseniaseEmTratamento) {
        this.hanseniaseEmTratamento = hanseniaseEmTratamento;
    }

    public Boolean getHanseniaseCurado() {
        return hanseniaseCurado;
    }

    public void setHanseniaseCurado(Boolean hanseniaseCurado) {
        this.hanseniaseCurado = hanseniaseCurado;
    }

    public Boolean getTuberculoseEmTratamento() {
        return tuberculoseEmTratamento;
    }

    public void setTuberculoseEmTratamento(Boolean tuberculoseEmTratamento) {
        this.tuberculoseEmTratamento = tuberculoseEmTratamento;
    }

    public Boolean getTuberculoseCurado() {
        return tuberculoseCurado;
    }

    public void setTuberculoseCurado(Boolean tuberculoseCurado) {
        this.tuberculoseCurado = tuberculoseCurado;
    }

    public String getCancerNome() {
        return cancerNome;
    }

    public void setCancerNome(String cancerNome) {
        this.cancerNome = cancerNome;
    }

    public String getCancerQuantoTempo() {
        return cancerQuantoTempo;
    }

    public void setCancerQuantoTempo(String cancerQuantoTempo) {
        this.cancerQuantoTempo = cancerQuantoTempo;
    }

    public Boolean getCancerEmTratamento() {
        return cancerEmTratamento;
    }

    public void setCancerEmTratamento(Boolean cancerEmTratamento) {
        this.cancerEmTratamento = cancerEmTratamento;
    }

    public String getCancerNomeMedicamento() {
        return cancerNomeMedicamento;
    }

    public void setCancerNomeMedicamento(String cancerNomeMedicamento) {
        this.cancerNomeMedicamento = cancerNomeMedicamento;
    }

    public Boolean getOutrasPraticasIntegrativas() {
        return outrasPraticasIntegrativas;
    }

    public void setOutrasPraticasIntegrativas(Boolean outrasPraticasIntegrativas) {
        this.outrasPraticasIntegrativas = outrasPraticasIntegrativas;
    }

    public List<String> getOutrasPraticasIntegrativasNome() {
        return outrasPraticasIntegrativasNome;
    }

    public void setOutrasPraticasIntegrativasNome(List<String> outrasPraticasIntegrativasNome) {
        this.outrasPraticasIntegrativasNome = outrasPraticasIntegrativasNome;
    }

    public Boolean getAcamado() {
        return acamado;
    }

    public void setAcamado(Boolean acamado) {
        this.acamado = acamado;
    }

    public String getAcamadoQuantoTempo() {
        return acamadoQuantoTempo;
    }

    public void setAcamadoQuantoTempo(String acamadoQuantoTempo) {
        this.acamadoQuantoTempo = acamadoQuantoTempo;
    }

    public String getAcamadoMotivo() {
        return acamadoMotivo;
    }

    public void setAcamadoMotivo(String acamadoMotivo) {
        this.acamadoMotivo = acamadoMotivo;
    }

    public Boolean getDomiciliado() {
        return domiciliado;
    }

    public void setDomiciliado(Boolean domiciliado) {
        this.domiciliado = domiciliado;
    }

    public Boolean getDstsAids() {
        return dstsAids;
    }

    public void setDstsAids(Boolean dstsAids) {
        this.dstsAids = dstsAids;
    }

    public String getDstsAidsNome() {
        return dstsAidsNome;
    }

    public void setDstsAidsNome(String dstsAidsNome) {
        this.dstsAidsNome = dstsAidsNome;
    }

    public Boolean getDstsAidsCurado() {
        return dstsAidsCurado;
    }

    public void setDstsAidsCurado(Boolean dstsAidsCurado) {
        this.dstsAidsCurado = dstsAidsCurado;
    }

    public Boolean getDstsAidsEmTratamento() {
        return dstsAidsEmTratamento;
    }

    public void setDstsAidsEmTratamento(Boolean dstsAidsEmTratamento) {
        this.dstsAidsEmTratamento = dstsAidsEmTratamento;
    }

    public String getDstsAidsNomeMedicamento() {
        return dstsAidsNomeMedicamento;
    }

    public void setDstsAidsNomeMedicamento(String dstsAidsNomeMedicamento) {
        this.dstsAidsNomeMedicamento = dstsAidsNomeMedicamento;
    }

    public Boolean getCriancaMenorDoisAnos() {
        return criancaMenorDoisAnos;
    }

    public void setCriancaMenorDoisAnos(Boolean criancaMenorDoisAnos) {
        this.criancaMenorDoisAnos = criancaMenorDoisAnos;
    }

    public Boolean getCriancaMenorSeteAnos() {
        return criancaMenorSeteAnos;
    }

    public void setCriancaMenorSeteAnos(Boolean criancaMenorSeteAnos) {
        this.criancaMenorSeteAnos = criancaMenorSeteAnos;
    }

    public Boolean getCriancaPesada() {
        return criancaPesada;
    }

    public void setCriancaPesada(Boolean criancaPesada) {
        this.criancaPesada = criancaPesada;
    }

    public Double getCriancaPeso() {
        return criancaPeso;
    }

    public void setCriancaPeso(Double criancaPeso) {
        this.criancaPeso = criancaPeso;
    }

    public Boolean getCriancaDesnutrida() {
        return criancaDesnutrida;
    }

    public void setCriancaDesnutrida(Boolean criancaDesnutrida) {
        this.criancaDesnutrida = criancaDesnutrida;
    }

    public Double getCriancaAltura() {
        return criancaAltura;
    }

    public void setCriancaAltura(Double criancaAltura) {
        this.criancaAltura = criancaAltura;
    }

    public Integer getCriancaIdade() {
        return criancaIdade;
    }

    public void setCriancaIdade(Integer criancaIdade) {
        this.criancaIdade = criancaIdade;
    }

    public Boolean getCriancaVacinada() {
        return criancaVacinada;
    }

    public void setCriancaVacinada(Boolean criancaVacinada) {
        this.criancaVacinada = criancaVacinada;
    }

    public List<Vacina> getCriancaVacinasAtrasadas() {
        return criancaVacinasAtrasadas;
    }

    public void setCriancaVacinasAtrasadas(List<Vacina> criancaVacinasAtrasadas) {
        this.criancaVacinasAtrasadas = criancaVacinasAtrasadas;
    }

    public TipoAlimentacao getCriancaTipoAlimentacao() {
        return criancaTipoAlimentacao;
    }

    public void setCriancaTipoAlimentacao(TipoAlimentacao criancaTipoAlimentacao) {
        this.criancaTipoAlimentacao = criancaTipoAlimentacao;
    }

    public List<Doenca> getCriancaDoencas() {
        return criancaDoencas;
    }

    public void setCriancaDoencas(List<Doenca> criancaDoencas) {
        this.criancaDoencas = criancaDoencas;
    }

    public List<Intercorrencia> getCriancaIntercorrencias() {
        return criancaIntercorrencias;
    }

    public void setCriancaIntercorrencias(List<Intercorrencia> criancaIntercorrencias) {
        this.criancaIntercorrencias = criancaIntercorrencias;
    }

    public Boolean getCriancaDiarreia() {
        return criancaDiarreia;
    }

    public void setCriancaDiarreia(Boolean criancaDiarreia) {
        this.criancaDiarreia = criancaDiarreia;
    }

    public String getCriancaDiarreiaTratamento() {
        return criancaDiarreiaTratamento;
    }

    public void setCriancaDiarreiaTratamento(String criancaDiarreiaTratamento) {
        this.criancaDiarreiaTratamento = criancaDiarreiaTratamento;
    }

    public Boolean getPccu() {
        return pccu;
    }

    public void setPccu(Boolean pccu) {
        this.pccu = pccu;
    }

    public String getPccuQuantoTempo() {
        return pccuQuantoTempo;
    }

    public void setPccuQuantoTempo(String pccuQuantoTempo) {
        this.pccuQuantoTempo = pccuQuantoTempo;
    }

    public Boolean getPccuFazAnualmente() {
        return pccuFazAnualmente;
    }

    public void setPccuFazAnualmente(Boolean pccuFazAnualmente) {
        this.pccuFazAnualmente = pccuFazAnualmente;
    }

    public Boolean getPreventivoMamografia() {
        return preventivoMamografia;
    }

    public void setPreventivoMamografia(Boolean preventivoMamografia) {
        this.preventivoMamografia = preventivoMamografia;
    }

    public Boolean getGestante() {
        return gestante;
    }

    public void setGestante(Boolean gestante) {
        this.gestante = gestante;
    }

    public Date getGestanteDPP() {
        return gestanteDPP;
    }

    public void setGestanteDPP(Date gestanteDPP) {
        this.gestanteDPP = gestanteDPP;
    }

    public String getGestanteNumeroSisPreNatal() {
        return gestanteNumeroSisPreNatal;
    }

    public void setGestanteNumeroSisPreNatal(String gestanteNumeroSisPreNatal) {
        this.gestanteNumeroSisPreNatal = gestanteNumeroSisPreNatal;
    }

    public Boolean getGestanteAcompanhamentoPreNatal() {
        return gestanteAcompanhamentoPreNatal;
    }

    public void setGestanteAcompanhamentoPreNatal(Boolean gestanteAcompanhamentoPreNatal) {
        this.gestanteAcompanhamentoPreNatal = gestanteAcompanhamentoPreNatal;
    }

    public String getGestanteQualTrimestre() {
        return gestanteQualTrimestre;
    }

    public void setGestanteQualTrimestre(String gestanteQualTrimestre) {
        this.gestanteQualTrimestre = gestanteQualTrimestre;
    }

    public Boolean getGestanteGravidezMenorVinteAnos() {
        return gestanteGravidezMenorVinteAnos;
    }

    public void setGestanteGravidezMenorVinteAnos(Boolean gestanteGravidezMenorVinteAnos) {
        this.gestanteGravidezMenorVinteAnos = gestanteGravidezMenorVinteAnos;
    }

    public Boolean getPuerperio() {
        return puerperio;
    }

    public void setPuerperio(Boolean puerperio) {
        this.puerperio = puerperio;
    }

    public Boolean getPuerperioRNPeso() {
        return puerperioRNPeso;
    }

    public void setPuerperioRNPeso(Boolean puerperioRNPeso) {
        this.puerperioRNPeso = puerperioRNPeso;
    }

    public Boolean getPuerperioExclusivo() {
        return puerperioExclusivo;
    }

    public void setPuerperioExclusivo(Boolean puerperioExclusivo) {
        this.puerperioExclusivo = puerperioExclusivo;
    }

    public Boolean getPuerperioMisto() {
        return puerperioMisto;
    }

    public void setPuerperioMisto(Boolean puerperioMisto) {
        this.puerperioMisto = puerperioMisto;
    }

    public Boolean getDiabetesHospitalizacaoPorComplicacao() {
        return diabetesHospitalizacaoPorComplicacao;
    }

    public void setDiabetesHospitalizacaoPorComplicacao(Boolean diabetesHospitalizacaoPorComplicacao) {
        this.diabetesHospitalizacaoPorComplicacao = diabetesHospitalizacaoPorComplicacao;
    }

    public String getDependenteAlcoolicoQuantoTempo() {
        return dependenteAlcoolicoQuantoTempo;
    }

    public void setDependenteAlcoolicoQuantoTempo(String dependenteAlcoolicoQuantoTempo) {
        this.dependenteAlcoolicoQuantoTempo = dependenteAlcoolicoQuantoTempo;
    }

    public Date getGestanteDUM() {
        return gestanteDUM;
    }

    public void setGestanteDUM(Date gestanteDUM) {
        this.gestanteDUM = gestanteDUM;
    }

    public Boolean getGestanteExamesEmDia() {
        return gestanteExamesEmDia;
    }

    public void setGestanteExamesEmDia(Boolean gestanteExamesEmDia) {
        this.gestanteExamesEmDia = gestanteExamesEmDia;
    }

    public String getDoencaPulmonarNomeMedicacao() {
        return doencaPulmonarNomeMedicacao;
    }

    public void setDoencaPulmonarNomeMedicacao(String doencaPulmonarNomeMedicacao) {
        this.doencaPulmonarNomeMedicacao = doencaPulmonarNomeMedicacao;
    }

    public String getDoencaPulmonarQuantoTempo() {
        return doencaPulmonarQuantoTempo;
    }

    public void setDoencaPulmonarQuantoTempo(String doencaPulmonarQuantoTempo) {
        this.doencaPulmonarQuantoTempo = doencaPulmonarQuantoTempo;
    }

    public Boolean getCancerCurado() {
        return cancerCurado;
    }

    public void setCancerCurado(Boolean cancerCurado) {
        this.cancerCurado = cancerCurado;
    }

    public String getDoencaVO() {
        return doencaVO;
    }

    public void setDoencaVO(String doencaVO) {
        this.doencaVO = doencaVO;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 89 * hash + (this.id != null ? this.id.hashCode() : 0);
        hash = 89 * hash + (this.maternidadeReferencia != null ? this.maternidadeReferencia.hashCode() : 0);
        hash = 89 * hash + (this.peso != null ? this.peso.hashCode() : 0);
        hash = 89 * hash + (this.fumante != null ? this.fumante.hashCode() : 0);
        hash = 89 * hash + (this.fumanteQuantoTempo != null ? this.fumanteQuantoTempo.hashCode() : 0);
        hash = 89 * hash + (this.dependenteAlcoolico != null ? this.dependenteAlcoolico.hashCode() : 0);
        hash = 89 * hash + (this.dependenteAlcoolicoQuantoTempo != null ? this.dependenteAlcoolicoQuantoTempo.hashCode() : 0);
        hash = 89 * hash + (this.dependenteDrogas != null ? this.dependenteDrogas.hashCode() : 0);
        hash = 89 * hash + (this.hipertensao != null ? this.hipertensao.hashCode() : 0);
        hash = 89 * hash + (this.hipertensaoUsaMedicamento != null ? this.hipertensaoUsaMedicamento.hashCode() : 0);
        hash = 89 * hash + (this.hipertensaoNomeMedicamento != null ? this.hipertensaoNomeMedicamento.hashCode() : 0);
        hash = 89 * hash + (this.diabetes != null ? this.diabetes.hashCode() : 0);
        hash = 89 * hash + (this.diabetesUsaMedicamento != null ? this.diabetesUsaMedicamento.hashCode() : 0);
        hash = 89 * hash + (this.diabetesNomeMedicamento != null ? this.diabetesNomeMedicamento.hashCode() : 0);
        hash = 89 * hash + (this.diabetesHospitalizacaoPorComplicacao != null ? this.diabetesHospitalizacaoPorComplicacao.hashCode() : 0);
        hash = 89 * hash + (this.avc != null ? this.avc.hashCode() : 0);
        hash = 89 * hash + (this.infarto != null ? this.infarto.hashCode() : 0);
        hash = 89 * hash + (this.possuiDoencaCardiaca != null ? this.possuiDoencaCardiaca.hashCode() : 0);
        hash = 89 * hash + (this.doencaCardiaca != null ? this.doencaCardiaca.hashCode() : 0);
        hash = 89 * hash + (this.possuiProblemaRenal != null ? this.possuiProblemaRenal.hashCode() : 0);
        hash = 89 * hash + (this.problemaRenal != null ? this.problemaRenal.hashCode() : 0);
        hash = 89 * hash + (this.problemaRenalQuantoTempo != null ? this.problemaRenalQuantoTempo.hashCode() : 0);
        hash = 89 * hash + (this.problemaRenalNomeMedicacao != null ? this.problemaRenalNomeMedicacao.hashCode() : 0);
        hash = 89 * hash + (this.possuiDoencaPulmonar != null ? this.possuiDoencaPulmonar.hashCode() : 0);
        hash = 89 * hash + (this.doencaPulmonar != null ? this.doencaPulmonar.hashCode() : 0);
        hash = 89 * hash + (this.doencaPulmonarNomeMedicacao != null ? this.doencaPulmonarNomeMedicacao.hashCode() : 0);
        hash = 89 * hash + (this.doencaPulmonarQuantoTempo != null ? this.doencaPulmonarQuantoTempo.hashCode() : 0);
        hash = 89 * hash + (this.hanseniase != null ? this.hanseniase.hashCode() : 0);
        hash = 89 * hash + (this.hanseniaseEmTratamento != null ? this.hanseniaseEmTratamento.hashCode() : 0);
        hash = 89 * hash + (this.hanseniaseCurado != null ? this.hanseniaseCurado.hashCode() : 0);
        hash = 89 * hash + (this.tuberculose != null ? this.tuberculose.hashCode() : 0);
        hash = 89 * hash + (this.tuberculoseEmTratamento != null ? this.tuberculoseEmTratamento.hashCode() : 0);
        hash = 89 * hash + (this.tuberculoseCurado != null ? this.tuberculoseCurado.hashCode() : 0);
        hash = 89 * hash + (this.cancer != null ? this.cancer.hashCode() : 0);
        hash = 89 * hash + (this.cancerNome != null ? this.cancerNome.hashCode() : 0);
        hash = 89 * hash + (this.cancerQuantoTempo != null ? this.cancerQuantoTempo.hashCode() : 0);
        hash = 89 * hash + (this.cancerEmTratamento != null ? this.cancerEmTratamento.hashCode() : 0);
        hash = 89 * hash + (this.cancerNomeMedicamento != null ? this.cancerNomeMedicamento.hashCode() : 0);
        hash = 89 * hash + (this.cancerCurado != null ? this.cancerCurado.hashCode() : 0);
        hash = 89 * hash + (this.internadoRecentemente != null ? this.internadoRecentemente.hashCode() : 0);
        hash = 89 * hash + (this.causaInternacaoRecente != null ? this.causaInternacaoRecente.hashCode() : 0);
        hash = 89 * hash + (this.problemaSaudeMental != null ? this.problemaSaudeMental.hashCode() : 0);
        hash = 89 * hash + (this.usaPlantasMedicinais != null ? this.usaPlantasMedicinais.hashCode() : 0);
        hash = 89 * hash + (this.nomePlantasMedicinais != null ? this.nomePlantasMedicinais.hashCode() : 0);
        hash = 89 * hash + (this.outrasPraticasIntegrativas != null ? this.outrasPraticasIntegrativas.hashCode() : 0);
        hash = 89 * hash + (this.outrasPraticasIntegrativasNome != null ? this.outrasPraticasIntegrativasNome.hashCode() : 0);
        hash = 89 * hash + (this.outrasCondicoesSaude != null ? this.outrasCondicoesSaude.hashCode() : 0);
        hash = 89 * hash + (this.alimentacaoDiaria != null ? this.alimentacaoDiaria.hashCode() : 0);
        hash = 89 * hash + (this.origemAlimentacao != null ? this.origemAlimentacao.hashCode() : 0);
        hash = 89 * hash + (this.acessoHigienePessoal != null ? this.acessoHigienePessoal.hashCode() : 0);
        hash = 89 * hash + (this.higienePessoal != null ? this.higienePessoal.hashCode() : 0);
        hash = 89 * hash + (this.tratamentoPsiquiatrico != null ? this.tratamentoPsiquiatrico.hashCode() : 0);
        hash = 89 * hash + (this.acamado != null ? this.acamado.hashCode() : 0);
        hash = 89 * hash + (this.acamadoQuantoTempo != null ? this.acamadoQuantoTempo.hashCode() : 0);
        hash = 89 * hash + (this.acamadoMotivo != null ? this.acamadoMotivo.hashCode() : 0);
        hash = 89 * hash + (this.domiciliado != null ? this.domiciliado.hashCode() : 0);
        hash = 89 * hash + (this.dstsAids != null ? this.dstsAids.hashCode() : 0);
        hash = 89 * hash + (this.dstsAidsNome != null ? this.dstsAidsNome.hashCode() : 0);
        hash = 89 * hash + (this.dstsAidsCurado != null ? this.dstsAidsCurado.hashCode() : 0);
        hash = 89 * hash + (this.dstsAidsEmTratamento != null ? this.dstsAidsEmTratamento.hashCode() : 0);
        hash = 89 * hash + (this.dstsAidsNomeMedicamento != null ? this.dstsAidsNomeMedicamento.hashCode() : 0);
        hash = 89 * hash + (this.criancaMenorDoisAnos != null ? this.criancaMenorDoisAnos.hashCode() : 0);
        hash = 89 * hash + (this.criancaMenorSeteAnos != null ? this.criancaMenorSeteAnos.hashCode() : 0);
        hash = 89 * hash + (this.criancaPesada != null ? this.criancaPesada.hashCode() : 0);
        hash = 89 * hash + (this.criancaPeso != null ? this.criancaPeso.hashCode() : 0);
        hash = 89 * hash + (this.criancaDesnutrida != null ? this.criancaDesnutrida.hashCode() : 0);
        hash = 89 * hash + (this.criancaAltura != null ? this.criancaAltura.hashCode() : 0);
        hash = 89 * hash + (this.criancaIdade != null ? this.criancaIdade.hashCode() : 0);
        hash = 89 * hash + (this.criancaVacinada != null ? this.criancaVacinada.hashCode() : 0);
        hash = 89 * hash + (this.criancaVacinasAtrasadas != null ? this.criancaVacinasAtrasadas.hashCode() : 0);
        hash = 89 * hash + (this.criancaTipoAlimentacao != null ? this.criancaTipoAlimentacao.hashCode() : 0);
        hash = 89 * hash + (this.criancaDoencas != null ? this.criancaDoencas.hashCode() : 0);
        hash = 89 * hash + (this.criancaIntercorrencias != null ? this.criancaIntercorrencias.hashCode() : 0);
        hash = 89 * hash + (this.criancaDiarreia != null ? this.criancaDiarreia.hashCode() : 0);
        hash = 89 * hash + (this.criancaDiarreiaTratamento != null ? this.criancaDiarreiaTratamento.hashCode() : 0);
        hash = 89 * hash + (this.pccu != null ? this.pccu.hashCode() : 0);
        hash = 89 * hash + (this.pccuQuantoTempo != null ? this.pccuQuantoTempo.hashCode() : 0);
        hash = 89 * hash + (this.pccuFazAnualmente != null ? this.pccuFazAnualmente.hashCode() : 0);
        hash = 89 * hash + (this.preventivoMamografia != null ? this.preventivoMamografia.hashCode() : 0);
        hash = 89 * hash + (this.gestante != null ? this.gestante.hashCode() : 0);
        hash = 89 * hash + (this.gestanteDUM != null ? this.gestanteDUM.hashCode() : 0);
        hash = 89 * hash + (this.gestanteExamesEmDia != null ? this.gestanteExamesEmDia.hashCode() : 0);
        hash = 89 * hash + (this.gestanteDPP != null ? this.gestanteDPP.hashCode() : 0);
        hash = 89 * hash + (this.gestanteNumeroSisPreNatal != null ? this.gestanteNumeroSisPreNatal.hashCode() : 0);
        hash = 89 * hash + (this.gestanteAcompanhamentoPreNatal != null ? this.gestanteAcompanhamentoPreNatal.hashCode() : 0);
        hash = 89 * hash + (this.gestanteQualTrimestre != null ? this.gestanteQualTrimestre.hashCode() : 0);
        hash = 89 * hash + (this.gestanteGravidezMenorVinteAnos != null ? this.gestanteGravidezMenorVinteAnos.hashCode() : 0);
        hash = 89 * hash + (this.puerperio != null ? this.puerperio.hashCode() : 0);
        hash = 89 * hash + (this.puerperioRNPeso != null ? this.puerperioRNPeso.hashCode() : 0);
        hash = 89 * hash + (this.puerperioExclusivo != null ? this.puerperioExclusivo.hashCode() : 0);
        hash = 89 * hash + (this.puerperioMisto != null ? this.puerperioMisto.hashCode() : 0);
        hash = 89 * hash + this.versao;
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final QuestionarioAutoReferido other = (QuestionarioAutoReferido) obj;
        if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
            return false;
        }
        if ((this.maternidadeReferencia == null) ? (other.maternidadeReferencia != null) : !this.maternidadeReferencia.equals(other.maternidadeReferencia)) {
            return false;
        }
        if (this.peso != other.peso) {
            return false;
        }
        if (this.fumante != other.fumante && (this.fumante == null || !this.fumante.equals(other.fumante))) {
            return false;
        }
        if ((this.fumanteQuantoTempo == null) ? (other.fumanteQuantoTempo != null) : !this.fumanteQuantoTempo.equals(other.fumanteQuantoTempo)) {
            return false;
        }
        if (this.dependenteAlcoolico != other.dependenteAlcoolico && (this.dependenteAlcoolico == null || !this.dependenteAlcoolico.equals(other.dependenteAlcoolico))) {
            return false;
        }
        if ((this.dependenteAlcoolicoQuantoTempo == null) ? (other.dependenteAlcoolicoQuantoTempo != null) : !this.dependenteAlcoolicoQuantoTempo.equals(other.dependenteAlcoolicoQuantoTempo)) {
            return false;
        }
        if (this.dependenteDrogas != other.dependenteDrogas && (this.dependenteDrogas == null || !this.dependenteDrogas.equals(other.dependenteDrogas))) {
            return false;
        }
        if (this.hipertensao != other.hipertensao && (this.hipertensao == null || !this.hipertensao.equals(other.hipertensao))) {
            return false;
        }
        if (this.hipertensaoUsaMedicamento != other.hipertensaoUsaMedicamento && (this.hipertensaoUsaMedicamento == null || !this.hipertensaoUsaMedicamento.equals(other.hipertensaoUsaMedicamento))) {
            return false;
        }
        if ((this.hipertensaoNomeMedicamento == null) ? (other.hipertensaoNomeMedicamento != null) : !this.hipertensaoNomeMedicamento.equals(other.hipertensaoNomeMedicamento)) {
            return false;
        }
        if (this.diabetes != other.diabetes && (this.diabetes == null || !this.diabetes.equals(other.diabetes))) {
            return false;
        }
        if (this.diabetesUsaMedicamento != other.diabetesUsaMedicamento && (this.diabetesUsaMedicamento == null || !this.diabetesUsaMedicamento.equals(other.diabetesUsaMedicamento))) {
            return false;
        }
        if ((this.diabetesNomeMedicamento == null) ? (other.diabetesNomeMedicamento != null) : !this.diabetesNomeMedicamento.equals(other.diabetesNomeMedicamento)) {
            return false;
        }
        if (this.diabetesHospitalizacaoPorComplicacao != other.diabetesHospitalizacaoPorComplicacao && (this.diabetesHospitalizacaoPorComplicacao == null || !this.diabetesHospitalizacaoPorComplicacao.equals(other.diabetesHospitalizacaoPorComplicacao))) {
            return false;
        }
        if (this.avc != other.avc && (this.avc == null || !this.avc.equals(other.avc))) {
            return false;
        }
        if (this.infarto != other.infarto && (this.infarto == null || !this.infarto.equals(other.infarto))) {
            return false;
        }
        if (this.possuiDoencaCardiaca != other.possuiDoencaCardiaca && (this.possuiDoencaCardiaca == null || !this.possuiDoencaCardiaca.equals(other.possuiDoencaCardiaca))) {
            return false;
        }
        if (this.doencaCardiaca != other.doencaCardiaca && (this.doencaCardiaca == null || !this.doencaCardiaca.equals(other.doencaCardiaca))) {
            return false;
        }
        if (this.possuiProblemaRenal != other.possuiProblemaRenal && (this.possuiProblemaRenal == null || !this.possuiProblemaRenal.equals(other.possuiProblemaRenal))) {
            return false;
        }
        if (this.problemaRenal != other.problemaRenal && (this.problemaRenal == null || !this.problemaRenal.equals(other.problemaRenal))) {
            return false;
        }
        if ((this.problemaRenalQuantoTempo == null) ? (other.problemaRenalQuantoTempo != null) : !this.problemaRenalQuantoTempo.equals(other.problemaRenalQuantoTempo)) {
            return false;
        }
        if ((this.problemaRenalNomeMedicacao == null) ? (other.problemaRenalNomeMedicacao != null) : !this.problemaRenalNomeMedicacao.equals(other.problemaRenalNomeMedicacao)) {
            return false;
        }
        if (this.possuiDoencaPulmonar != other.possuiDoencaPulmonar && (this.possuiDoencaPulmonar == null || !this.possuiDoencaPulmonar.equals(other.possuiDoencaPulmonar))) {
            return false;
        }
        if (this.doencaPulmonar != other.doencaPulmonar && (this.doencaPulmonar == null || !this.doencaPulmonar.equals(other.doencaPulmonar))) {
            return false;
        }
        if ((this.doencaPulmonarNomeMedicacao == null) ? (other.doencaPulmonarNomeMedicacao != null) : !this.doencaPulmonarNomeMedicacao.equals(other.doencaPulmonarNomeMedicacao)) {
            return false;
        }
        if ((this.doencaPulmonarQuantoTempo == null) ? (other.doencaPulmonarQuantoTempo != null) : !this.doencaPulmonarQuantoTempo.equals(other.doencaPulmonarQuantoTempo)) {
            return false;
        }
        if (this.hanseniase != other.hanseniase && (this.hanseniase == null || !this.hanseniase.equals(other.hanseniase))) {
            return false;
        }
        if (this.hanseniaseEmTratamento != other.hanseniaseEmTratamento && (this.hanseniaseEmTratamento == null || !this.hanseniaseEmTratamento.equals(other.hanseniaseEmTratamento))) {
            return false;
        }
        if (this.hanseniaseCurado != other.hanseniaseCurado && (this.hanseniaseCurado == null || !this.hanseniaseCurado.equals(other.hanseniaseCurado))) {
            return false;
        }
        if (this.tuberculose != other.tuberculose && (this.tuberculose == null || !this.tuberculose.equals(other.tuberculose))) {
            return false;
        }
        if (this.tuberculoseEmTratamento != other.tuberculoseEmTratamento && (this.tuberculoseEmTratamento == null || !this.tuberculoseEmTratamento.equals(other.tuberculoseEmTratamento))) {
            return false;
        }
        if (this.tuberculoseCurado != other.tuberculoseCurado && (this.tuberculoseCurado == null || !this.tuberculoseCurado.equals(other.tuberculoseCurado))) {
            return false;
        }
        if (this.cancer != other.cancer && (this.cancer == null || !this.cancer.equals(other.cancer))) {
            return false;
        }
        if ((this.cancerNome == null) ? (other.cancerNome != null) : !this.cancerNome.equals(other.cancerNome)) {
            return false;
        }
        if ((this.cancerQuantoTempo == null) ? (other.cancerQuantoTempo != null) : !this.cancerQuantoTempo.equals(other.cancerQuantoTempo)) {
            return false;
        }
        if (this.cancerEmTratamento != other.cancerEmTratamento && (this.cancerEmTratamento == null || !this.cancerEmTratamento.equals(other.cancerEmTratamento))) {
            return false;
        }
        if ((this.cancerNomeMedicamento == null) ? (other.cancerNomeMedicamento != null) : !this.cancerNomeMedicamento.equals(other.cancerNomeMedicamento)) {
            return false;
        }
        if (this.cancerCurado != other.cancerCurado && (this.cancerCurado == null || !this.cancerCurado.equals(other.cancerCurado))) {
            return false;
        }
        if (this.internadoRecentemente != other.internadoRecentemente && (this.internadoRecentemente == null || !this.internadoRecentemente.equals(other.internadoRecentemente))) {
            return false;
        }
        if ((this.causaInternacaoRecente == null) ? (other.causaInternacaoRecente != null) : !this.causaInternacaoRecente.equals(other.causaInternacaoRecente)) {
            return false;
        }
        if (this.problemaSaudeMental != other.problemaSaudeMental && (this.problemaSaudeMental == null || !this.problemaSaudeMental.equals(other.problemaSaudeMental))) {
            return false;
        }
        if (this.usaPlantasMedicinais != other.usaPlantasMedicinais && (this.usaPlantasMedicinais == null || !this.usaPlantasMedicinais.equals(other.usaPlantasMedicinais))) {
            return false;
        }
        if ((this.nomePlantasMedicinais == null) ? (other.nomePlantasMedicinais != null) : !this.nomePlantasMedicinais.equals(other.nomePlantasMedicinais)) {
            return false;
        }
        if (this.outrasPraticasIntegrativas != other.outrasPraticasIntegrativas && (this.outrasPraticasIntegrativas == null || !this.outrasPraticasIntegrativas.equals(other.outrasPraticasIntegrativas))) {
            return false;
        }
        if (this.outrasPraticasIntegrativasNome != other.outrasPraticasIntegrativasNome && (this.outrasPraticasIntegrativasNome == null || !this.outrasPraticasIntegrativasNome.equals(other.outrasPraticasIntegrativasNome))) {
            return false;
        }
        if (this.outrasCondicoesSaude != other.outrasCondicoesSaude && (this.outrasCondicoesSaude == null || !this.outrasCondicoesSaude.equals(other.outrasCondicoesSaude))) {
            return false;
        }
        if (this.alimentacaoDiaria != other.alimentacaoDiaria) {
            return false;
        }
        if (this.origemAlimentacao != other.origemAlimentacao && (this.origemAlimentacao == null || !this.origemAlimentacao.equals(other.origemAlimentacao))) {
            return false;
        }
        if (this.acessoHigienePessoal != other.acessoHigienePessoal && (this.acessoHigienePessoal == null || !this.acessoHigienePessoal.equals(other.acessoHigienePessoal))) {
            return false;
        }
        if (this.higienePessoal != other.higienePessoal && (this.higienePessoal == null || !this.higienePessoal.equals(other.higienePessoal))) {
            return false;
        }
        if (this.tratamentoPsiquiatrico != other.tratamentoPsiquiatrico && (this.tratamentoPsiquiatrico == null || !this.tratamentoPsiquiatrico.equals(other.tratamentoPsiquiatrico))) {
            return false;
        }
        if (this.acamado != other.acamado && (this.acamado == null || !this.acamado.equals(other.acamado))) {
            return false;
        }
        if ((this.acamadoQuantoTempo == null) ? (other.acamadoQuantoTempo != null) : !this.acamadoQuantoTempo.equals(other.acamadoQuantoTempo)) {
            return false;
        }
        if ((this.acamadoMotivo == null) ? (other.acamadoMotivo != null) : !this.acamadoMotivo.equals(other.acamadoMotivo)) {
            return false;
        }
        if (this.domiciliado != other.domiciliado && (this.domiciliado == null || !this.domiciliado.equals(other.domiciliado))) {
            return false;
        }
        if (this.dstsAids != other.dstsAids && (this.dstsAids == null || !this.dstsAids.equals(other.dstsAids))) {
            return false;
        }
        if ((this.dstsAidsNome == null) ? (other.dstsAidsNome != null) : !this.dstsAidsNome.equals(other.dstsAidsNome)) {
            return false;
        }
        if (this.dstsAidsCurado != other.dstsAidsCurado && (this.dstsAidsCurado == null || !this.dstsAidsCurado.equals(other.dstsAidsCurado))) {
            return false;
        }
        if (this.dstsAidsEmTratamento != other.dstsAidsEmTratamento && (this.dstsAidsEmTratamento == null || !this.dstsAidsEmTratamento.equals(other.dstsAidsEmTratamento))) {
            return false;
        }
        if ((this.dstsAidsNomeMedicamento == null) ? (other.dstsAidsNomeMedicamento != null) : !this.dstsAidsNomeMedicamento.equals(other.dstsAidsNomeMedicamento)) {
            return false;
        }
        if (this.criancaMenorDoisAnos != other.criancaMenorDoisAnos && (this.criancaMenorDoisAnos == null || !this.criancaMenorDoisAnos.equals(other.criancaMenorDoisAnos))) {
            return false;
        }
        if (this.criancaMenorSeteAnos != other.criancaMenorSeteAnos && (this.criancaMenorSeteAnos == null || !this.criancaMenorSeteAnos.equals(other.criancaMenorSeteAnos))) {
            return false;
        }
        if (this.criancaPesada != other.criancaPesada && (this.criancaPesada == null || !this.criancaPesada.equals(other.criancaPesada))) {
            return false;
        }
        if (this.criancaPeso != other.criancaPeso && (this.criancaPeso == null || !this.criancaPeso.equals(other.criancaPeso))) {
            return false;
        }
        if (this.criancaDesnutrida != other.criancaDesnutrida && (this.criancaDesnutrida == null || !this.criancaDesnutrida.equals(other.criancaDesnutrida))) {
            return false;
        }
        if (this.criancaAltura != other.criancaAltura && (this.criancaAltura == null || !this.criancaAltura.equals(other.criancaAltura))) {
            return false;
        }
        if (this.criancaIdade != other.criancaIdade && (this.criancaIdade == null || !this.criancaIdade.equals(other.criancaIdade))) {
            return false;
        }
        if (this.criancaVacinada != other.criancaVacinada && (this.criancaVacinada == null || !this.criancaVacinada.equals(other.criancaVacinada))) {
            return false;
        }
        if (this.criancaVacinasAtrasadas != other.criancaVacinasAtrasadas && (this.criancaVacinasAtrasadas == null || !this.criancaVacinasAtrasadas.equals(other.criancaVacinasAtrasadas))) {
            return false;
        }
        if (this.criancaTipoAlimentacao != other.criancaTipoAlimentacao) {
            return false;
        }
        if (this.criancaDoencas != other.criancaDoencas && (this.criancaDoencas == null || !this.criancaDoencas.equals(other.criancaDoencas))) {
            return false;
        }
        if (this.criancaIntercorrencias != other.criancaIntercorrencias && (this.criancaIntercorrencias == null || !this.criancaIntercorrencias.equals(other.criancaIntercorrencias))) {
            return false;
        }
        if (this.criancaDiarreia != other.criancaDiarreia && (this.criancaDiarreia == null || !this.criancaDiarreia.equals(other.criancaDiarreia))) {
            return false;
        }
        if ((this.criancaDiarreiaTratamento == null) ? (other.criancaDiarreiaTratamento != null) : !this.criancaDiarreiaTratamento.equals(other.criancaDiarreiaTratamento)) {
            return false;
        }
        if (this.pccu != other.pccu && (this.pccu == null || !this.pccu.equals(other.pccu))) {
            return false;
        }
        if ((this.pccuQuantoTempo == null) ? (other.pccuQuantoTempo != null) : !this.pccuQuantoTempo.equals(other.pccuQuantoTempo)) {
            return false;
        }
        if (this.pccuFazAnualmente != other.pccuFazAnualmente && (this.pccuFazAnualmente == null || !this.pccuFazAnualmente.equals(other.pccuFazAnualmente))) {
            return false;
        }
        if (this.preventivoMamografia != other.preventivoMamografia && (this.preventivoMamografia == null || !this.preventivoMamografia.equals(other.preventivoMamografia))) {
            return false;
        }
        if (this.gestante != other.gestante && (this.gestante == null || !this.gestante.equals(other.gestante))) {
            return false;
        }
        if (this.gestanteDUM != other.gestanteDUM && (this.gestanteDUM == null || !this.gestanteDUM.equals(other.gestanteDUM))) {
            return false;
        }
        if (this.gestanteExamesEmDia != other.gestanteExamesEmDia && (this.gestanteExamesEmDia == null || !this.gestanteExamesEmDia.equals(other.gestanteExamesEmDia))) {
            return false;
        }
        if (this.gestanteDPP != other.gestanteDPP && (this.gestanteDPP == null || !this.gestanteDPP.equals(other.gestanteDPP))) {
            return false;
        }
        if ((this.gestanteNumeroSisPreNatal == null) ? (other.gestanteNumeroSisPreNatal != null) : !this.gestanteNumeroSisPreNatal.equals(other.gestanteNumeroSisPreNatal)) {
            return false;
        }
        if (this.gestanteAcompanhamentoPreNatal != other.gestanteAcompanhamentoPreNatal && (this.gestanteAcompanhamentoPreNatal == null || !this.gestanteAcompanhamentoPreNatal.equals(other.gestanteAcompanhamentoPreNatal))) {
            return false;
        }
        if ((this.gestanteQualTrimestre == null) ? (other.gestanteQualTrimestre != null) : !this.gestanteQualTrimestre.equals(other.gestanteQualTrimestre)) {
            return false;
        }
        if (this.gestanteGravidezMenorVinteAnos != other.gestanteGravidezMenorVinteAnos && (this.gestanteGravidezMenorVinteAnos == null || !this.gestanteGravidezMenorVinteAnos.equals(other.gestanteGravidezMenorVinteAnos))) {
            return false;
        }
        if (this.puerperio != other.puerperio && (this.puerperio == null || !this.puerperio.equals(other.puerperio))) {
            return false;
        }
        if (this.puerperioRNPeso != other.puerperioRNPeso && (this.puerperioRNPeso == null || !this.puerperioRNPeso.equals(other.puerperioRNPeso))) {
            return false;
        }
        if (this.puerperioExclusivo != other.puerperioExclusivo && (this.puerperioExclusivo == null || !this.puerperioExclusivo.equals(other.puerperioExclusivo))) {
            return false;
        }
        if (this.puerperioMisto != other.puerperioMisto && (this.puerperioMisto == null || !this.puerperioMisto.equals(other.puerperioMisto))) {
            return false;
        }
        if (this.versao != other.versao) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "QuestionarioAutoReferido{" + "id=" + id + ", maternidadeReferencia=" + maternidadeReferencia + ", peso=" + peso + ", fumante=" + fumante + ", fumanteQuantoTempo=" + fumanteQuantoTempo + ", dependenteAlcoolico=" + dependenteAlcoolico + ", dependenteAlcoolicoQuantoTempo=" + dependenteAlcoolicoQuantoTempo + ", dependenteDrogas=" + dependenteDrogas + ", hipertensao=" + hipertensao + ", hipertensaoUsaMedicamento=" + hipertensaoUsaMedicamento + ", hipertensaoNomeMedicamento=" + hipertensaoNomeMedicamento + ", diabetes=" + diabetes + ", diabetesUsaMedicamento=" + diabetesUsaMedicamento + ", diabetesNomeMedicamento=" + diabetesNomeMedicamento + ", diabetesHospitalizacaoPorComplicacao=" + diabetesHospitalizacaoPorComplicacao + ", avc=" + avc + ", infarto=" + infarto + ", possuiDoencaCardiaca=" + possuiDoencaCardiaca + ", doencaCardiaca=" + doencaCardiaca + ", possuiProblemaRenal=" + possuiProblemaRenal + ", problemaRenal=" + problemaRenal + ", problemaRenalQuantoTempo=" + problemaRenalQuantoTempo + ", problemaRenalNomeMedicacao=" + problemaRenalNomeMedicacao + ", possuiDoencaPulmonar=" + possuiDoencaPulmonar + ", doencaPulmonar=" + doencaPulmonar + ", doencaPulmonarNomeMedicacao=" + doencaPulmonarNomeMedicacao + ", doencaPulmonarQuantoTempo=" + doencaPulmonarQuantoTempo + ", hanseniase=" + hanseniase + ", hanseniaseEmTratamento=" + hanseniaseEmTratamento + ", hanseniaseCurado=" + hanseniaseCurado + ", tuberculose=" + tuberculose + ", tuberculoseEmTratamento=" + tuberculoseEmTratamento + ", tuberculoseCurado=" + tuberculoseCurado + ", cancer=" + cancer + ", cancerNome=" + cancerNome + ", cancerQuantoTempo=" + cancerQuantoTempo + ", cancerEmTratamento=" + cancerEmTratamento + ", cancerNomeMedicamento=" + cancerNomeMedicamento + ", cancerCurado=" + cancerCurado + ", internadoRecentemente=" + internadoRecentemente + ", causaInternacaoRecente=" + causaInternacaoRecente + ", problemaSaudeMental=" + problemaSaudeMental + ", usaPlantasMedicinais=" + usaPlantasMedicinais + ", nomePlantasMedicinais=" + nomePlantasMedicinais + ", outrasPraticasIntegrativas=" + outrasPraticasIntegrativas + ", outrasPraticasIntegrativasNome=" + outrasPraticasIntegrativasNome + ", outrasCondicoesSaude=" + outrasCondicoesSaude + ", alimentacaoDiaria=" + alimentacaoDiaria + ", origemAlimentacao=" + origemAlimentacao + ", acessoHigienePessoal=" + acessoHigienePessoal + ", higienePessoal=" + higienePessoal + ", tratamentoPsiquiatrico=" + tratamentoPsiquiatrico + ", acamado=" + acamado + ", acamadoQuantoTempo=" + acamadoQuantoTempo + ", acamadoMotivo=" + acamadoMotivo + ", domiciliado=" + domiciliado + ", dstsAids=" + dstsAids + ", dstsAidsNome=" + dstsAidsNome + ", dstsAidsCurado=" + dstsAidsCurado + ", dstsAidsEmTratamento=" + dstsAidsEmTratamento + ", dstsAidsNomeMedicamento=" + dstsAidsNomeMedicamento + ", criancaMenorDoisAnos=" + criancaMenorDoisAnos + ", criancaMenorSeteAnos=" + criancaMenorSeteAnos + ", criancaPesada=" + criancaPesada + ", criancaPeso=" + criancaPeso + ", criancaDesnutrida=" + criancaDesnutrida + ", criancaAltura=" + criancaAltura + ", criancaIdade=" + criancaIdade + ", criancaVacinada=" + criancaVacinada + ", criancaVacinasAtrasadas=" + criancaVacinasAtrasadas + ", criancaTipoAlimentacao=" + criancaTipoAlimentacao + ", criancaDoencas=" + criancaDoencas + ", criancaIntercorrencias=" + criancaIntercorrencias + ", criancaDiarreia=" + criancaDiarreia + ", criancaDiarreiaTratamento=" + criancaDiarreiaTratamento + ", pccu=" + pccu + ", pccuQuantoTempo=" + pccuQuantoTempo + ", pccuFazAnualmente=" + pccuFazAnualmente + ", preventivoMamografia=" + preventivoMamografia + ", gestante=" + gestante + ", gestanteDUM=" + gestanteDUM + ", gestanteExamesEmDia=" + gestanteExamesEmDia + ", gestanteDPP=" + gestanteDPP + ", gestanteNumeroSisPreNatal=" + gestanteNumeroSisPreNatal + ", gestanteAcompanhamentoPreNatal=" + gestanteAcompanhamentoPreNatal + ", gestanteQualTrimestre=" + gestanteQualTrimestre + ", gestanteGravidezMenorVinteAnos=" + gestanteGravidezMenorVinteAnos + ", puerperio=" + puerperio + ", puerperioRNPeso=" + puerperioRNPeso + ", puerperioExclusivo=" + puerperioExclusivo + ", puerperioMisto=" + puerperioMisto + ", versao=" + versao + '}';
    }

    public QuestionarioAutoReferido getClone() {
        try {
            return (QuestionarioAutoReferido) super.clone();
        } catch (CloneNotSupportedException e) {
            System.out.println(" Cloning not allowed. ");
            return this;
        }
    }
}
